/**
 * 
 */
package com.zy.ems.common.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * <P>File name : HtmlUtil.java </P>
 * <P>Author : hanweiwang </P> 
 * <P>Date : 2016年3月10日 </P>
 */
public class HtmlUtil {
    
    //定义script的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script>
    private static final String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
    //定义style的正则表达式{或<style[^>]*?>[\\s\\S]*?<\\/style>
    private static final String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>";
    // 定义HTML标签的正则表达式
    private static final String regEx_html = "<[^>]+>";
    // 定义一些特殊字符的正则表达式 如：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt; &gt;
    private static final String regEx_special = "\\&[a-zA-Z]{1,10};";
    // 定义一些特殊字符的正则表达式 &lt;br /&gt;
    private static final String regEx_speciala = "&lt;[\\s]*?br[^>]*?&gt;";
    
    private static final String regEx_space = "\\s*|\t|\r|\n";//定义空格回车换行符
    /**
     * GtProductsManager.removeHtmlTag()<BR>
     * <P>Author :  hanweiwang </P>  
     * <P>Date : 2016年3月10日 </P>
     * @param editorIntro
     * @return
     */
    public static String removeHtmlTag(String editorIntro) {
        Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
        Matcher m_script = p_script.matcher(editorIntro);
        editorIntro = m_script.replaceAll(""); // 过滤script标签
   
        Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
        Matcher m_style = p_style.matcher(editorIntro);
        editorIntro = m_style.replaceAll(""); // 过滤style标签
   
        Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
        Matcher m_html = p_html.matcher(editorIntro);
        editorIntro = m_html.replaceAll(""); // 过滤html标签
        
        Pattern p_sp = Pattern.compile(regEx_speciala, Pattern.CASE_INSENSITIVE);
        Matcher m_sp = p_sp.matcher(editorIntro);
        editorIntro = m_sp.replaceAll(""); // 过滤空格回车标签
        
        Pattern p_space = Pattern.compile(regEx_special, Pattern.CASE_INSENSITIVE);
        Matcher m_space = p_space.matcher(editorIntro);
        editorIntro = m_space.replaceAll(""); // 过滤空格回车标签
        return editorIntro.trim(); // 返回文本字符串
    }
    
}
